

-- 项目名
local projectName = "PolarDay"

-- 外部引用库
local local_packages = {
}

-- 网络引用库
local net_packages = {
    "imgui docking",    -- gui
    "glm",              -- 数学库
    "glad",             -- opengl接口
    "stb",              -- 图片加载
    "glfw",             -- 跨平台窗口管理
    "freetype",         -- ttf库
	"folly"             -- folly
}

-- 源文件
local sources = {
    "core/**.cpp",
    "event/**.cpp",
    "main.cpp"
}

-- 头文件
local headers = {
    ".",
    "event"
}

-- 定义
local defines = {
    "UNICODE"
}

set_languages("c++17")
add_rules("mode.debug", "mode.release")

-- 拷贝源码
-- target("pre_build")
--     for _, info in ipairs(packages) do
--         add_packages(string.split(info, " ")[1])
--     end
    
--     on_build("windows", function (target)
--         import("build")
--         for _, info in ipairs(net_packages) do
--             build.copy_source(info)
--         end
--     end)
-- target_end()

add_requires(table.unpack(net_packages))
add_includedirs(table.unpack(headers))

target(projectName)
    set_kind("binary")
    add_files(table.unpack(sources))
    add_defines(table.unpack(defines))
    for _, info in ipairs(packages) do
        add_packages(string.split(info, " ")[1])
    end